<?php

/**
 * Description of download
 *
 * @author  赵福堂
 */

class HttpDownload {
	function httpcopy($url, $file="", $timeout=60) {
            $file = empty($file) ? pathinfo($url,PATHINFO_BASENAME) : $file;
            $dir = pathinfo($file,PATHINFO_DIRNAME);
            !is_dir($dir) && @mkdir($dir,0755,true);
            $url = str_replace(" ","%20",$url);

            if(function_exists('curl_init')) {
                $ch = curl_init();
                curl_setopt($ch, CURLOPT_URL, $url);
                curl_setopt($ch, CURLOPT_TIMEOUT, $timeout);
                curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE);
                $temp = curl_exec($ch);
                if(@file_put_contents($file, $temp) && !curl_error($ch)) {
                    return $file;
                } else {
                    return false;
                }
            } else {
                $opts = array(
                    "http"=>array(
                    "method"=>"GET",
                    "header"=>"",
                    "timeout"=>$timeout)
                );
                $context = stream_context_create($opts);
                if(@copy($url, $file, $context)) {
                    //$http_response_header
                    return $file;
                } else {
                    return false;
                }
            }
        }
}

#两种使用方法，分别如下：

#打开网页
#$httpdown = new HttpDownload();
#$httpdown->OpenUrl("http://www.google.com.hk");
#echo $httpdown->GetHtml();
#$httpdown->Close();


#下载文件
#$file = new HttpDownload(); # 实例化类
#$file->OpenUrl("http://www.ti.com.cn/cn/lit/an/rust020/rust020.pdf"); # 远程文件地址
#$file->SaveToBin("rust020.pdf"); # 保存路径及文件名
#$file->Close(); # 释放资源
?>